/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. 
 */
package com.icinfo.cloud.provider.punish.csource.manage.service;

import com.icinfo.cloud.provider.punish.csource.manage.dto.CaseSourceLegalInfoUpdateDto;
import com.icinfo.cloud.provider.punish.csource.manage.dto.CaseSourcePartyInfoAdjustDto;
import com.icinfo.cloud.provider.punish.csource.manage.vo.CaseSourcePartyInfoOfCheckVo;
import com.icinfo.cloud.provider.punish.csource.manage.vo.CaseSourcePartyInfoVo;
import com.icinfo.cloud.provider.punish.csource.manage.vo.CaseSourcePartyMsgVo;
import com.icinfo.framework.common.web.Result;
import com.icinfo.framework.core.service.BaseService;

import java.util.List;


/**
 * 描述: 案源线索当事人信息表（含个人+法人） case_source_party_info 对应的Service接口.<br>
 *
 * @author framework generator
 * @date 2022年08月12日
 */
public interface ICaseSourcePartyInfoService extends BaseService {

    /**
     * 描述： 格局id删除当事人
     *
     * @author: zhengqiang
     * @date: 2022/8/15
     * @param: id
     * @return {@link Result}
     **/
    Result delCaseSourcePartyInfo(String id);

    /**
     * 描述： 调整当事人
     *
     * @author: zhengqiang
     * @date: 2022/8/15
     * @param: caseSourcePartyInfoAdjustDto
     * @return {@link Result}
     **/
    Result updateCaseSourcePartyInfo(CaseSourcePartyInfoAdjustDto caseSourcePartyInfoAdjustDto);


    /**
     * 描述： 获取当事人列表
     *
     * @author: zhengqiang
     * @date: 2022/8/15
     * @param: caseSourceId
     * @return {@link List< CaseSourcePartyInfoVo>}
     **/
    List<CaseSourcePartyInfoVo> getCaseSourcePartyInfo(String caseSourceId);

    /**
     * 描述： 获取当事人列表
     *
     * @param: caseSourceId
     * @return {@link List< CaseSourcePartyInfoVo>}
     **/
    List<CaseSourcePartyMsgVo> getCaseSourcePartyInfoList(String caseSourceId);


    /**
     * 描述： 查询案源当事人列表(检查转案源)
     *
     * @author: zhengqiang
     * @date: 2022/8/15
     * @param: caseSourceId
     * @return {@link List< CaseSourcePartyInfoVo>}
     **/
    CaseSourcePartyInfoOfCheckVo getCaseSourcePartyInfoOfCheck(String caseSourceId);

    /**
     * 描述： 补充案源法定代表人证件信息
     *
     * @author: zhengqiang
     * @date: 2022/8/16
     * @param: updateDto
     * @return {@link Result< String>}
     **/
    Result<String> updateCaseSourceLegalInfo(CaseSourceLegalInfoUpdateDto updateDto);

    /**
     * 描述： 获取案源当事人显示名称(多当事人合并)
     *
     * @author: zhengqiang
     * @date: 2022/8/19
     * @param: caseSourceId
     * @return {@link String}
     **/
    String getCaseSourcePartyName(String caseSourceId);
}